home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 3 / Gekikoh Dennoh Club Vol. 3 (Japan).7z / Gekikoh Dennoh Club Vol. 3 (Japan) (Track 1).bin / fsw3 / make / readme.x68 < prev   
Text File  |  1995-02-17  |  6KB  |  173 lines

  1. GNU make 3.62 Human68k バージョン
  2.  
  3. はじめに
  4.  
  5. GNU make version 3.62 を Human68k に移植しました。このドキュメントは主に
  6. Human68k バージョンのオリジナルとの違いについて述べてあります。
  7.  
  8. 無保証
  9.  
  10. このプログラムは無保証です。  何が起こっても原作者ならびに私は関知しませ
  11. ん。詳しくは COPYING の NO WARRANTY の項を御覧ください。
  12.  
  13. Human68k 版について
  14.  
  15.  o 並列実行
  16.    -j オプション(複数ジョブの並列実行)、-l オプション(マシンの負荷を見て
  17.    複数のジョブを実行する)はサポートしていません。
  18.  
  19.  o アーカイブ
  20.     lib.a(obj.o) のようにアーカイブ中のオブジェクトを取り扱う形式はサ
  21.    ポートしていません。
  22.  
  23.  o 2 バイト文字コード対応
  24.    変数名やコマンド名に漢字などを含めることができます。
  25.  
  26.  o ドライブ名対応
  27.    ファイル名にドライブ名を含めることができます。
  28.  
  29.         foo: a:/usr/include/bar.h
  30.  
  31.    のような記述かあっても混乱しません。
  32.  
  33.  o Hupair 対応
  34.    HUPAIR 適合のプログラムには HUPAIR Encode  されたコマンドラインを渡し
  35.    ます。 '" は UNIX などと同様の扱いになりました。なお、HUPAIR 適合でな
  36.    いプログラムに対しては中間ファイルを生成して渡します。 次項を参照して
  37.    ください。
  38.  
  39.  o 中間ファイル自動生成
  40.    実行するコマンドに渡す引数が長くなるときは自動的に中間ファイルを作成
  41.    します。コマンドに中間ファイルを指定する方法は indirect  命令で変更で
  42.    きます。デフォルトでは "-+-+-中間ファイル名" です。
  43.  
  44.  o ライブラリの自動検索
  45.    依存ファイルに   -ldos    や    gmalloc.a    のように "-lなんとか" や
  46.     "なんとか.a" という形式のファイル名を記述した場合は、 ライブラリパス
  47.    ($lib)を参照してそのファイルの最終更新時間を調べます。       例えば、
  48.    set lib=a:/libとなっている場合、-ldos は a:/lib/doslib.a の最終更新時
  49.    刻を参照することになります。
  50.  
  51.  o インクルードパス
  52.    Makefile   中の   include   命令では、 インクルードファイルを環境変数
  53.     MAKE_INCLUDE で示したパスから検索します。  MAKE_INCLUDE が未定義の場
  54.    合は環境変数 include を参照します。
  55.  
  56.  o コマンドシェル
  57.    make はコマンド行を UNIX の Bourne Shell に対するものと見なして解析し
  58.    ます。通常は自力でコマンドを起動しますが、 次の場合には自力での起動を
  59.    諦め、 (make の)変数 SHELL に設定されているコマンドシェルを使ってコマ
  60.    ンドを実行します。
  61.  
  62.     o コマンドが Bourne Shell の内蔵コマンドである場合
  63.  
  64.     o コマンド行が Bourne Shell のメタキャラクタ(シングルクォートを除く)
  65.       を含んでいる場合
  66.  
  67.  
  68.    変数 SHELL は make 自身によって予め定義されています。その初期値は、環
  69.    境変数 MAKE_SHELL があればその値、なければ "sh" です。 いずれの場合も
  70.    その値は原則的に  Bourne  Shell  と同等の動作をするシェルであるべきで
  71.    す。
  72.  
  73.    変数 SHELL は環境変数の SHELL には影響されません。Makefile かまたは引
  74.    数によってのみ、変数 SHELL を再定義することができます。
  75.  
  76.    変数 SHELL を初期値と違う値に再定義すると、make  は自分自身でコマンド
  77.    行を解析することを放棄し、 *常に*そのコマンドシェルを通してコマンドを
  78.    実行するようになります。もしそのコマンドシェルが Bourne Shell  と同等
  79.    であるのならば、環境変数 MAKE_SHELL を利用して SHELL の初期値をそれに
  80.    合わせておくと良いでしょう。 たとえば  SHELL=/bin/sh と記述されている
  81.    UNIX 用の Makefile  をそのまま使うときには、 環境変数  MAKE_SHELL  に
  82.    "/bin/sh" を設定しておくことです。
  83.  
  84.    なお、 Bourne  Shell  と同等の動作をするシェルとして、 私が移植したPD
  85.    Korn Shell を利用することができます。
  86.  
  87.  o コマンドの実行
  88.    コマンドは環境変数 PATH または path を参照して行います。まず、 ファイ
  89.    ル属性の第 7 bit が立っているファイルは拡張子によらず実行可能と見なし
  90.    ます。次に拡張子として .r .x .z .bat を持つファイルを実行可能と見なし
  91.    ます。 X6_3 までは変数 exec_suffix を参照していましたが現在は使ってい
  92.    ません。また、ファイルの先頭 2 バイトを見て実行可能かどうかを判断する
  93.    ことも行いません。 シェルスクリプトを実行させたいときはスクリプトのフ
  94.    ァイル属性の第 7bit(EXEC ビット)を立てておいてください。
  95.  
  96.    実行可能と判断されたファイルは取りあえず spawn() により実行し、失敗し
  97.    た場合はコマンドシェルにオプション  -c とともに渡して実行を試みます。
  98.    すなわち、.bat  のようなファイルは、 コマンドシェルを通して実行されま
  99.    す。
  100.  
  101.    SHELL=a:/human/command.x /e:100 のように、SHELL に command.x らしきシ
  102.    ェル名が記述されているときは -c の代わりに /cをつけてコマンドの実行を
  103.    試みます。 ただし、command.x は長いコマンドラインを受け取る手段を持た
  104.    ないので、SHELL の値としては適当ではありません。
  105.  
  106.  o 変数のデフォルト値
  107.    以下の変数はデフォルトの値がオリジナルとは異なります。
  108.  
  109.           変数名  │オリジナル│Human68k 版
  110.           ────┼─────┼────────────
  111.           CC      │cc        │gcc
  112.           LD      │ld        │lk
  113.           LEX     │lex       │flex
  114.           YACC    │yacc      │bison -y
  115.           ARFLAGS │av        │-uv
  116.           SHELL   │/bin/sh   │環境変数 MAKE_SHELL の値
  117.  
  118.  o 代用拡張子
  119.    以下の表のように代用の拡張子が使えます。TwentyOne  を組み込んでいない
  120.    場合などに便利でしょう。
  121.  
  122.           本物    │代用
  123.           ────┼───
  124.           .tab.c  │_tab.c
  125.           .texinfo│.tif
  126.           .info   │.inf
  127.           .cweb   │.cwb
  128.  
  129.  o デフォルト規則
  130.    デフォルト規則として   .x   に関するものを追加してあります。   内容は
  131.     make -p によって見ることができます。
  132.  
  133.  o テンポラリファイル
  134.    make が作るテンポラリファイルは環境変数 temp を参照して作られます。
  135.  
  136.  o indirect 命令
  137.    コマンドに中間ファイルを指定する方法(オプション名)を指定できます。 以
  138.    下の形式で記述します。
  139.  
  140.         indirect コマンド名 オプションフラグ
  141.  
  142.    本 make ではデフォルトで以下のコマンドに関する知識を持っています。
  143.  
  144.           コマンド名│オプションフラグ
  145.           ─────┼────────
  146.           lk        │-i
  147.           ar        │-i
  148.           as        │-i
  149.           lha       │@
  150.  
  151.    なお、indirect 命令で指定しない場合、デフォルトとして "-+-+-" が用い
  152.    られます。
  153.  
  154.  o クォートの扱い
  155.    実行コマンド中に現われるクォートは、シングルクォート、 ダブルクォート
  156.    ともにそのままコマンドに渡されます。
  157.  
  158.  
  159. 配布など
  160.  
  161. 本プログラムの配布複製などに関することは COPYING に従います。
  162.  
  163. バグレポートなど
  164.  
  165. ご意見、バグレポート等は以下のアドレスまでお願いします。
  166.  
  167.  
  168.   ────────────────
  169.   ASCII NET   pcs30830
  170.   PEKIN-NET   HOMY
  171.   Internet    yhori@trl.mei.co.jp
  172.   ────────────────
  173.